//
//  TableViewBind.swift
//  民生生活
//
//  Created by apple on 2017/8/4.
//  Copyright © 2017年 youjindi.app.com. All rights reserved.
//

import UIKit

class TableViewBind: NSObject {
    
    private var tableView = UITableView()
    var dataArray = Array<Any>()
    var cellIdentifier = String()
    var cellHeightA = Array<Any>()
    
    convenience init(_ tableView:UITableView,_ sourceArray:Array<Any>,_ cell:String,_ cellHeightA:Array<Any>) {
        
        self.init()
        
        self.tableView = tableView
        self.dataArray = sourceArray
        self.cellIdentifier = cell
        self.cellHeightA = cellHeightA
        
        let tableViewCell = NSClassFromString("民生生活." + cell) as! UITableViewCell.Type
        self.tableView.register(tableViewCell, forCellReuseIdentifier: cell)
        self.tableView.dataSource = self
        self.tableView.delegate = self
    }
    
}

extension TableViewBind: UITableViewDataSource,UITableViewDelegate{
    
    func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
        return self.dataArray.count
    }
    
    func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {
        if self.cellHeightA.count < 1{
            return tableView.rowHeight
        }
        return self.cellHeightA[indexPath.row] as! CGFloat
    }
    
    func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
        let cell = tableView.dequeueReusableCell(withIdentifier: self.cellIdentifier, for: indexPath) as! BaseTableViewCell
        cell.bind(withParams: self.dataArray[indexPath.row] as AnyObject, RowAtIndexPath: indexPath)
        return cell
    }
    
    
}
